package com.ethink.order.api.info;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Date;
import java.math.BigDecimal;

/**
 * TOB销售详单 INFO实体
 *
 * @author default
 * @date 2022-11-16
 */
@Data
public class TobSaleDetailOrderInfo {

    @Schema(description = "主键")
    private Long id;

    @Schema(description = "TOB销售单号")
    private String orderNo;

    @Schema(description = "TOB销售详单号")
    private String detailOrderNo;

    @Schema(description = "库存ID")
    private Long mateInventoryId;

    @Schema(description = "商品SKU")
    private String mateSku;

    @Schema(description = "采购批次")
    private String purchaseCode;

    @Schema(description = "枚举 库存类型:1-正品(zp)|2-瑕疵(cc)")
    private Integer inventoryType;

    @Schema(description = "生产批次")
    private String produceCode;

    @Schema(description = "采购批次")
    private String purchaseOrderNo;

    @Schema(description = "采购详单号")
    private String purchaseDetailOrderNo;

    @Schema(description = "商品编码")
    private String mateCode;

    @Schema(description = "商品名称")
    private String mateName;

    @Schema(description = "商品SKU名称")
    private String mateSkuName;

    @Schema(description = "大类编号")
    private String generaCode;

    @Schema(description = "大类编号名称")
    private String generaCodeName;

    @Schema(description = "中类编号")
    private String minorDefectsCode;

    @Schema(description = "中类编号名称")
    private String minorDefectsCodeName;

    @Schema(description = "小类编号")
    private String subclassCode;

    @Schema(description = "小类编号名称")
    private String subclassCodeName;

    @Schema(description = "商品分类")
    private String categoryName;

    @Schema(description = "品牌编码")
    private String brandCode;

    @Schema(description = "品牌名称")
    private String brandName;

    @Schema(description = "商品条码")
    private String internationCode;

    @Schema(description = "包装单位编码")
    private String unitCode;

    @Schema(description = "包装单位编码")
    private String unitName;

    @Schema(description = "商品规格")
    private String productSpecification;

    @Schema(description = "商品生产日期")
    private Date productDate;

    @Schema(description = "商品过期日期")
    private Date expireDate;

    @Schema(description = "成本单价")
    private BigDecimal costPrice;

    @Schema(description = "数量")
    private Integer qty;

    @Schema(description = "销售价")
    private BigDecimal salePrice;

    @Schema(description = "毛利率")
    private BigDecimal grossProfitRate;

    @Schema(description = "结算数量")
    private Integer settleQty;

    @Schema(description = "是否结算(0:未结算 1:已结算)")
    private Integer isSettle;

    @Schema(description = "数据删除标志(0-正常,1-删除)")
    private Integer isDeleted;

    @Schema(description = "数据创建时间戳")
    private Date createTime;

    @Schema(description = "数据更新时间戳")
    private Date updateTime;

    @Schema(description = "创建人")
    private String createUser;

    @Schema(description = "修改人")
    private String updateUser;

    @Schema(description = "备注信息")
    private String remark;

    @Schema(description = "退货数量")
    private Integer returnsVolume;

    @Schema(description = "未结数量")
    private Integer differenceQuantity;

}
